/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.unmsm.ceiebt.daos;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
//import javasql.jdbc.OracleTypes;
import com.unmsm.ceiebt.beans.EmpresaIncubada;
import java.sql.Types;
/**
 *
 * @author Davis
 */
public class IncubadoraDao extends accesoDao {



	 public IncubadoraDao() throws FileNotFoundException, IOException, ClassNotFoundException, SQLException, accesoDaoException {
            super();
         }

    public ArrayList<EmpresaIncubada> ProductosNuevosxCliente() throws accesoDaoException {
         ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
		    try{

		    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_BUSCA_NUEVOS_PRODUCTOS(?)}");
		    	cs.registerOutParameter(1, Types.OTHER);

		       	cs.execute();


		       	rs= (ResultSet) cs.getObject(1);

		       	while(rs.next()){
                                EmpresaIncubada linea=null;
		       		linea=new EmpresaIncubada();
		       		linea.setStrPv_codigoCliente(rs.getString("COD_CLI"));
		       		linea.setStrPv_numObra("....");
		       		linea.setStrPv_rucCliente("....");
		       		linea.setStrPv_descObra("....");
		       		linea.setStrPv_separacion("....");
		       		linea.setStrPv_numeroDocumentoFactura("....");

                                linea.setStrPv_codProd(rs.getString("TDOCV_ID_ITEM"));
                                linea.setStrPv_NumDocuAgente(linea.getStrPv_codProd());
		       		linea.setStrPv_tipoDocumento("003");
		       		linea.setStrPv_estadoGuia("");
		       		linea.setStrPv_estadoFile("0");
		       		linea.setStrPv_numDespacho("....");
		       		String strNombreArchivo=linea.getStrPv_codigoCliente()+"_MP_"+linea.getStrPv_codProd()+".txt";
		       		linea.setStrPv_Nombre(strNombreArchivo);
		       		objL_listaLineasConsulta.add(linea);
		       	}


		    }catch(Exception e){
			 e.printStackTrace();
		 	}
		    finally{
		    	closeCallableStatement(cs);
		    	closePreparedStatement(pstm);
		    	closeConnection(conn);
		    }
		    System.out.println("salio2");
		    return objL_listaLineasConsulta;
    }

    public void actualizar_lineas_ncBaan(EmpresaIncubada objL_Linea) throws accesoDaoException {
       System.out.println("entro a actualizar");
	try{

                        cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_SET_ESTADO_NOTA(?,?,?,?)}");

			cs.setString(1,objL_Linea.getStrPv_tipoDocumento());
                        System.out.println(objL_Linea.getStrPv_tipoDocumento());
			cs.setString(2,objL_Linea.getStrPv_codigoCliente());
                        System.out.println("cod para actualziar "+objL_Linea.getStrPv_codigoCliente());
			cs.setString(3,objL_Linea.getStrPv_NumDocuAgente());
                        System.out.println("cod para actualziar "+objL_Linea.getStrPv_NumDocuAgente());
                        //cs.setString(3,objL_Linea.getStrPv_NumDocuAgente());
			cs.setString(4,objL_Linea.getStrPv_estadoNC());
                        System.out.println( "estado "+objL_Linea.getStrPv_estadoNC());
			  cs.execute();


	}catch(Exception e){
		e.printStackTrace();
	}
	finally{
		closeCallableStatement(cs);
		closePreparedStatement(pstm);
		closeConnection(conn);
	}



    }

    public ArrayList<EmpresaIncubada> buscarFacturas(EmpresaIncubada archivo) throws accesoDaoException {
         ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
		    try{

		    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_BUSCA_FACT_NOTAS(?,?,?,?)}");
		    	cs.registerOutParameter(1, Types.OTHER);
		    	cs.setString(2,archivo.getStrsPv_codSerieLogica());
		       	cs.setString(3, archivo.getStrsPv_codDocumentoLogico());
                        cs.setString(4, archivo.getStrPv_codigoCliente());
                        cs.execute();


		       	rs= (ResultSet) cs.getObject(1);

		       	while(rs.next()){
		       		EmpresaIncubada linea=null;
		       		linea=new EmpresaIncubada();
		       		linea.setStrPv_codigoCliente(archivo.getStrPv_codigoCliente());
		       		linea.setStrPv_SerieMFac(rs.getString(1));
                                linea.setStrPv_NumMFac(rs.getString(2));
		       		objL_listaLineasConsulta.add(linea);
		       	}


		    }catch(Exception e){
			 e.printStackTrace();
		 	}
		   /* finally{
		    	closeCallableStatement(cs);
		    	closePreparedStatement(pstm);
		    	closeConnection(conn);
		    }*/
		    System.out.println("salio3");
		    return objL_listaLineasConsulta;
    }

    public EmpresaIncubada buscarPedidosSDIS(EmpresaIncubada archivo) {
            EmpresaIncubada objL_listaLineasConsulta=new EmpresaIncubada();
    try{


    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_BUSCA_PED_SDIS(?,?,?,?,?)}");
    	cs.registerOutParameter(1, Types.OTHER);
    	cs.setString(2,archivo.getStrPv_codigoDistrito());
        cs.setString(3, archivo.getStrPv_codigoEmpresa());
        cs.setInt(4, archivo.getIntPv_secPedido());
        cs.setString(5, archivo.getStrPv_codigoCliente());

       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);
       	System.out.println("fuera");
       	while(rs.next()){
                EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();


       		//linea.setStrPv_PedEmp(rs.getString(1));
       		//linea.setStrPv_PedDist(rs.getString(2));
                linea.setIntPv_secPedido(rs.getInt(1));
                System.out.println("secpec dao"+rs.getInt(1));
                linea.setStrPv_numObra(rs.getString(2));
                linea.setStrPv_estadoNC(rs.getString(3));

       		objL_listaLineasConsulta=linea;
       	}




    }catch(Exception e){
	 e.printStackTrace();
 	}
  /*  finally{
    	closeCallableStatement(cs);
    	closePreparedStatement(pstm);
    	closeConnection(conn);
    }*/
    System.out.println("salio4");
    return objL_listaLineasConsulta;
    }
   public String getEstadoNota(EmpresaIncubada obj_nota) {
       String resultado="";
		    try{

		    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GET_ESTADO_NC(?,?,?)}");
		    	cs.registerOutParameter(1, Types.OTHER);


                        cs.setString(2, obj_nota.getStrPv_codigoCliente());
                        cs.setString(3, obj_nota.getStrPv_NumDocuAgente());
                        cs.execute();


		       	rs= (ResultSet) cs.getObject(1);

		       	while(rs.next()){



		       		resultado=rs.getString(1);


		       	}


		    }catch(Exception e){
			 e.printStackTrace();
		 	}
		   /* finally{
		    	closeCallableStatement(cs);
		    	closePreparedStatement(pstm);
		    	closeConnection(conn);
		    }*/

		    return resultado;
    }
    public String getEstadoNotaSdis(String cod_cli,String num_doc,String serie ) {
       String resultado="";
		    try{

		    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GET_ESTADO_NC_SDIS(?,?,?,?)}");
		    	cs.registerOutParameter(1, Types.OTHER);
                        cs.setString(2, cod_cli);
                        cs.setString(3, num_doc);
                        cs.setString(4, serie);
                        cs.execute();


		       	rs= (ResultSet) cs.getObject(1);

		       	while(rs.next()){



		       		resultado=rs.getString(1);


		       	}


		    }catch(Exception e){
			 e.printStackTrace();
		 	}
		   /* finally{
		    	closeCallableStatement(cs);
		    	closePreparedStatement(pstm);
		    	closeConnection(conn);
		    }*/

		    return resultado;
    }



    public ArrayList<EmpresaIncubada> listarNotasCredito() throws  SQLException,accesoDaoException {
        ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
    try{


    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_NC_BAAN_AGENT(?)}");

    	cs.registerOutParameter(1, Types.OTHER);

       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);

       	while(rs.next()){

           	EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();
       		linea.setStrsPv_codSerieLogica(rs.getString(1));
                System.out.println(linea.getStrsPv_codSerieLogica());
       		linea.setStrsPv_codDocumentoLogico(rs.getString(2));
                System.out.println(linea.getStrsPv_codDocumentoLogico());
                linea.setStrPv_tipoDocumento("002");

                linea.setStrPv_codigoCliente(rs.getString(4));
       		System.out.println(linea.getStrPv_codigoCliente());
                linea.setStrPv_um(rs.getString(5));
       		System.out.println(linea.getStrPv_codigoCliente());
       		//linea.setDat_fechaGeneracion(rs.getDate(6));
       		linea.setStrPv_rucCliente(rs.getString(7));
       		//linea.setStrPv_Nombre(rs.getInt(8)); // razon social
       		//linea.setStrPv_CodItem(rs.getInt(9)); // PE extraccion del pais
                linea.setStrPv_numeroSerieNota(rs.getString(10));
       		linea.setStrPv_numeroDocumentoNota(rs.getString(11));
                linea.setStrPv_NumDocuAgente( linea.getStrPv_numeroSerieNota()+"-"+linea.getStrPv_numeroDocumentoNota());
       		linea.setStrPv_estadoFile("0");
                String nom_Arch=linea.getStrPv_codigoCliente()+ "_NC_"+ linea.getStrPv_NumDocuAgente()+".txt";
                System.out.println(nom_Arch);
                linea.setStrPv_Nombre(nom_Arch);
               linea.setStrPv_estadoNC(rs.getString(12));
               linea.setStrPv_origen_NC("2");

       		/*String contenido =  linea.getStrPv_codigoCliente()+"\t"+linea.getStrPv_rucCliente()+"\t"+
			linea.getStrsPv_codSerieLogica()+"\t"+
			linea.getStrsPv_codDocumentoLogico()+"\t"+
			linea.getStrPv_tipoDocumento()+"\t"+
			linea.getStrPv_codigoCliente()+"\t"+
			linea.getStrPv_um()+"\t"+rs.getInt(8)+rs.getInt(9)+
			linea.getStrPv_NumDocuAgente()+"\t"+

			linea.getStrPv_serieTipoEntrega()+ "\n";

       		System.out.println(contenido);
       		contenido="";*/
       		objL_listaLineasConsulta.add(linea);
       	}

    }catch(Exception e){
	 e.printStackTrace();
 	}

    System.out.println("salio de consultar notas de credito");
    return objL_listaLineasConsulta;
    }
 public EmpresaIncubada buscarPedidosBaan(EmpresaIncubada archivo) throws accesoDaoException {
       EmpresaIncubada objL_listaLineasConsulta=new EmpresaIncubada();
    try{


    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_BUSCA_DOCU_CLIENTES(?,?,?,?)}");
    	cs.registerOutParameter(1, Types.OTHER);
    	cs.setString(2,archivo.getStrPv_SerieMFac());
        cs.setString(3, archivo.getStrPv_NumMFac());
        cs.setString(4, archivo.getStrPv_codigoCliente());

       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);
       	System.out.println("fuera");
       	while(rs.next()){
                EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();


       		//linea.setStrPv_PedEmp(rs.getString(1));
       		//linea.setStrPv_PedDist(rs.getString(2));
                linea.setIntPv_secPedido(rs.getInt(1));
                System.out.println("secpec dao"+rs.getInt(1));
                linea.setStrPv_numObra(rs.getString(2));

       		objL_listaLineasConsulta=linea;
       	}




    }catch(Exception e){
	 e.printStackTrace();
 	}
  /*  finally{
    	closeCallableStatement(cs);
    	closePreparedStatement(pstm);
    	closeConnection(conn);
    }*/
    System.out.println("salio4");
    return objL_listaLineasConsulta;
    }

    public ArrayList<EmpresaIncubada> listarNotasCreditoSdis() {
         ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
    try{


    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_NC_SDIS_AGENT(?)}");

    	cs.registerOutParameter(1, Types.OTHER);

       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);

       	while(rs.next()){

           	EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();
       		linea.setStrPv_codigoEmpresa(rs.getString(1));
                System.out.println(linea.getStrPv_codigoEmpresa());
       		linea.setStrPv_codigoDistrito(rs.getString(2));
                linea.setIntPv_secPedido(rs.getInt(3));
                System.out.println(linea.getStrPv_codigoDistrito());
                linea.setStrPv_tipoDocumento("002");

                linea.setStrPv_codigoCliente(rs.getString(4));
       		System.out.println(linea.getStrPv_codigoCliente());


                linea.setStrPv_numeroSerieNota(rs.getString(5));
       		linea.setStrPv_numeroDocumentoNota(rs.getString(6));
                linea.setStrPv_NumDocuAgente( linea.getStrPv_numeroSerieNota()+"-"+linea.getStrPv_numeroDocumentoNota());
       		linea.setStrPv_estadoFile("0");
                String nom_Arch=linea.getStrPv_codigoCliente()+ "_NC_"+ linea.getStrPv_NumDocuAgente()+".txt";
                System.out.println(nom_Arch);
                linea.setStrPv_Nombre(nom_Arch);
                linea.setStrPv_origen_NC("2");
                linea.setStrPv_numObra(rs.getString(7));
                linea.setStrPv_estadoNC(rs.getString(8));


       		/*String contenido =  linea.getStrPv_codigoCliente()+"\t"+linea.getStrPv_rucCliente()+"\t"+
			linea.getStrsPv_codSerieLogica()+"\t"+
			linea.getStrsPv_codDocumentoLogico()+"\t"+
			linea.getStrPv_tipoDocumento()+"\t"+
			linea.getStrPv_codigoCliente()+"\t"+
			linea.getStrPv_um()+"\t"+rs.getInt(8)+rs.getInt(9)+
			linea.getStrPv_NumDocuAgente()+"\t"+

			linea.getStrPv_serieTipoEntrega()+ "\n";

       		System.out.println(contenido);
       		contenido="";*/
       		objL_listaLineasConsulta.add(linea);
       	}

    }catch(Exception e){
	 e.printStackTrace();
 	}

    System.out.println("salio de consultar notas de credito sdis");
    return objL_listaLineasConsulta;
    }

    public ArrayList<EmpresaIncubada> listarNotasEstado() {
           ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
    try{
        cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_NOTAS_PEND(?)}");
    	cs.registerOutParameter(1, Types.OTHER);
       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);
       	System.out.println("fuera de listar nc pend ");
       	while(rs.next()){
      EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();

       		linea.setStrPv_codigoCliente(rs.getString(1));

       		linea.setStrPv_NumDocuAgente(rs.getString(2));
                linea.setStrPv_estadoNC(rs.getString(3));

       		objL_listaLineasConsulta.add(linea);
       	}




    }catch(Exception e){
	 e.printStackTrace();
 	}
   /* finally{
    	closeCallableStatement(cs);
    	closePreparedStatement(pstm);
    	closeConnection(conn);
    }*/
    System.out.println("salio2");
    return objL_listaLineasConsulta;
}

    public ArrayList<EmpresaIncubada> listarNotasSDISEstado() {
              ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
    try{
        cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_NOTAS_SDIS_PEND(?)}");
    	cs.registerOutParameter(1, Types.OTHER);
       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);
       	System.out.println("fuera de listar nc sdis pend ");
       	while(rs.next()){
      EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();

       		linea.setStrPv_codigoCliente(rs.getString(1));

       		linea.setStrPv_NumDocuAgente(rs.getString(2));
                linea.setStrPv_estadoNC(rs.getString(3));

       		objL_listaLineasConsulta.add(linea);
       	}




    }catch(Exception e){
	 e.printStackTrace();
 	}
   /* finally{
    	closeCallableStatement(cs);
    	closePreparedStatement(pstm);
    	closeConnection(conn);
    }*/
    System.out.println("salio2");
    return objL_listaLineasConsulta;
    }

public ArrayList<EmpresaIncubada> listarObrasNuevasxCliente() throws SQLException, accesoDaoException{
		 ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
		    try{
		    	//cs=conn.prepareCall("{call MBRAVO.ACDIMPK_AGENTES.ACDIMSP_GENERA_FACTURAS_2(?,?)}");
		    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_BUSCA_NUEVAS_OBRAS(?)}");
		    	cs.registerOutParameter(1, Types.OTHER);
		    	//cs.setString(2,"");
		       	cs.execute();


		       	rs= (ResultSet) cs.getObject(1);
		       	//System.out.println("fuera");
		       	while(rs.next()){
                            	EmpresaIncubada linea=null;
		       		//System.out.println("while");
		       		linea=new EmpresaIncubada();
		       		linea.setStrPv_codigoCliente(rs.getString("COD_CLI"));
		       		linea.setStrPv_numObra(rs.getString("NUM_OBRA"));
		       		linea.setStrPv_rucCliente(rs.getString("RUC"));
		       		linea.setStrPv_descObra(rs.getString("DESC_OBRA"));
		       		linea.setStrPv_separacion(rs.getString("FLG_DSEPARADOS"));
		       		linea.setStrPv_NumDocuAgente(linea.getStrPv_numObra());
		       		linea.setStrPv_tipoDocumento("004");
		       		linea.setStrPv_estadoGuia("");
		       		linea.setStrPv_estadoFile("0");
		       		linea.setStrPv_numDespacho("....");
		       		String strNombreArchivo=linea.getStrPv_codigoCliente()+"_OC_"+linea.getStrPv_numObra()+".txt";
		       		linea.setStrPv_Nombre(strNombreArchivo);
		       		objL_listaLineasConsulta.add(linea);
		       	}


		    }catch(Exception e){
			 e.printStackTrace();
		 	}
		    finally{
		    	closeCallableStatement(cs);
		    	closePreparedStatement(pstm);
		    	closeConnection(conn);
		    }
		    System.out.println("salio2");
		    return objL_listaLineasConsulta;
		}

public ArrayList<EmpresaIncubada> listarFacturas() throws SQLException, accesoDaoException{
	ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
    try{

    	//cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_FACTURAS(?)}");
    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_FACT_AGENT(?)}");
    	cs.registerOutParameter(1, Types.OTHER);

       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);
       	System.out.println("fuera de lsitar facturas");
       	while(rs.next()){
       		//System.out.println("while");
            EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();
       		linea.setStrPv_codigoEmpresa(rs.getString(1));

       		linea.setStrPv_codigoDistrito(rs.getString(2));

       		linea.setStrPv_codigoCliente(rs.getString(3));

       		linea.setStrPv_rucCliente(rs.getString(4));

       		linea.setStrPv_numObra(rs.getString(5));

       		linea.setStrPv_numDespacho(rs.getString(6));//ya no

       		linea.setIntPv_secPedido(rs.getInt(7));


       		linea.setStrPv_numeroDocumentoGuia(rs.getString(8));

       		linea.setStrPv_FechaGuia(rs.getString(9));

       		//linea.setStrPv_tipo( rs.getString(10));//ya no

       		linea.setStrPv_numeroDocumentoFactura(rs.getString(10));
       		// agregado para mantener formato
                linea.setStrPv_NumDocuAgente(rs.getString(10));
       			System.out.println("num num doc agente"+linea.getStrPv_NumDocuAgente());
                linea.setStrPv_FechaFactura(rs.getString(11));



       		linea.setStrPv_serieTipoEntrega(rs.getString(12));//TRANSBORDO

       		/*String contenido =  linea.getStrPv_codigoCliente()+"\t"+"\t"+linea.getStrPv_rucCliente()+"\t"+
			linea.getStrPv_numObra()+"\t"+
			linea.getStrPv_numDespacho()+"\t"+
			linea.getIntPv_secPedido()+"\t"+
			linea.getStrPv_numeroDocumentoGuia()+"\t"+
			linea.getStrPv_FechaGuia()+"\t"+
			//linea.getStrPv_tipo()+"\t"+
			linea.getStrPv_numeroDocumentoFactura()+"\t"+
			linea.getStrPv_FechaFactura()+"\t"+
			/*linea.getStrPv_sedeFactura()+"\t"+
			linea.getStrPv_indicadorG()+"\t"+
			linea.getStrPv_codProd()+"\t"+
			linea.getStrPv_um()+"\t"+
			linea.getIntPv_peso()+"\t"+
			linea.getStrPv_Estado()+"\t"+
			linea.getStrPv_serieTipoEntrega()+
			"\n";
       		System.out.println(contenido);
       		contenido="";*/
       		objL_listaLineasConsulta.add(linea);
       	}




    }catch(Exception e){
	 e.printStackTrace();
 	}
    finally{
    	closeCallableStatement(cs);
    	closePreparedStatement(pstm);
    	closeConnection(conn);
    }
    System.out.println("salio2");
    return objL_listaLineasConsulta;
}

public ArrayList<EmpresaIncubada> listarFacturasPendienteGuia() throws SQLException, accesoDaoException{
	ArrayList<EmpresaIncubada> objL_listaLineasConsulta=new ArrayList<EmpresaIncubada>();
    try{

    	//cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_FACTURAS_PEND(?)}");
    	cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GENERA_FACTURAS_PEND_2(?)}");
    	cs.registerOutParameter(1, Types.OTHER);
    	//cs.setString(2,"");
       	cs.execute();


       	rs= (ResultSet) cs.getObject(1);
       	System.out.println("fuera de lsitar fact pend de guia");
       	while(rs.next()){
      EmpresaIncubada linea=null;
       		linea=new EmpresaIncubada();
       		linea.setStrPv_codigoEmpresa(rs.getString(1));

       		linea.setStrPv_codigoDistrito(rs.getString(2));

       		linea.setStrPv_codigoCliente(rs.getString(3));

       		linea.setStrPv_rucCliente(rs.getString(4));

       		linea.setStrPv_numObra(rs.getString(5));

       		linea.setStrPv_numDespacho(rs.getString(6));

       		linea.setIntPv_secPedido(rs.getInt(7));


       		linea.setStrPv_numeroDocumentoGuia(rs.getString(8));

       		linea.setStrPv_FechaGuia(rs.getString(9));


       		linea.setStrPv_numeroDocumentoFactura(rs.getString(10));
       		linea.setStrPv_NumDocuAgente(rs.getString(10));
       		linea.setStrPv_FechaFactura(rs.getString(11));

       		linea.setStrPv_serieTipoEntrega(rs.getString(12));//TRANSBORDO

       		/*String contenido =  linea.getStrPv_codigoCliente()+"\t"+"\t"+linea.getStrPv_rucCliente()+"\t"+
			linea.getStrPv_numObra()+"\t"+
			linea.getStrPv_numDespacho()+"\t"+
			linea.getIntPv_secPedido()+"\t"+
			linea.getStrPv_numeroDocumentoGuia()+"\t"+
			linea.getStrPv_FechaGuia()+"\t"+

			linea.getStrPv_numeroDocumentoFactura()+"\t"+
			linea.getStrPv_FechaFactura()+"\t"+

			linea.getStrPv_serieTipoEntrega()+
			"\n";
       		System.out.println(contenido);
       		contenido="";*/
       		objL_listaLineasConsulta.add(linea);
       	}




    }catch(Exception e){
	 e.printStackTrace();
 	}
    finally{
    	closeCallableStatement(cs);
    	closePreparedStatement(pstm);
    	closeConnection(conn);
    }
    System.out.println("salio2");
    return objL_listaLineasConsulta;
}





	//rpt out obj_cursor,piv_cod_emp in VARCHAR2,piv_cod_dis in VARCHAR2,pin_sec_ped in NUMBER,piv_cod_cli in VARCHAR2
public String[] getGuiaTransbordo(String strA_codEmp,String strA_codDis,int intA_secPed,String strA_codCli) throws SQLException, accesoDaoException{

	String[] objL_guia=new String[3];
	try{
		cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_GET_GUIA_TRANSBORDO(?,?,?,?,?)}");
		cs.registerOutParameter(1, Types.OTHER);

		cs.setString(2,strA_codEmp);
		cs.setString(3,strA_codDis);
		cs.setInt(4,intA_secPed);
		cs.setString(5,strA_codCli);
		System.out.println(intA_secPed);
		System.out.println(strA_codCli);
		cs.execute();
		rs1= (ResultSet) cs.getObject(1);
		if(rs1.next()){
			//System.out.println("entro");
			/*System.out.println(
	           				rs1.getString(4)+//tipo guia
	           				"\t"+rs1.getString(4)+//numero guia
	           				"\t"+rs1.getString(5)//fecha guia
	           		);*/
			objL_guia[0]=rs1.getString(4);//num
			objL_guia[1]=rs1.getString(5);//fech
			objL_guia[2]=rs1.getString(6);
		}


	}catch(Exception e){
		e.printStackTrace();
	}
	finally{
		closeCallableStatement(cs);
		closePreparedStatement(pstm);
		closeConnection(conn);
	}

	return objL_guia;
}

public void insertar_lineas(ArrayList<EmpresaIncubada> archivo) throws SQLException, accesoDaoException{


	try{
		cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_INSERT_ARCHIVO_TXT(?,?,?,?,?,?,?,?,?,?,?,?)}");


		for(int i=0;i<archivo.size();i++){
			EmpresaIncubada objL_Linea=archivo.get(i);

			cs.setString(1,objL_Linea.getStrPv_codigoCliente());
                       // cs.setString(2,objL_Linea.getStrPv_numeroDocumentoFactura());
			// cambio para amntener el formato
                        System.out.println(objL_Linea.getStrPv_NumDocuAgente());

                        cs.setString(2,objL_Linea.getStrPv_NumDocuAgente());
			cs.setString(3,objL_Linea.getStrPv_rucCliente());
			cs.setString(4,objL_Linea.getStrPv_tipoDocumento());
			cs.setString(5,objL_Linea.getStrPv_estadoGuia());
			cs.setString(6,objL_Linea.getStrPv_estadoFile());
			cs.setString(7,objL_Linea.getStrPv_Nombre());
			cs.setString(8,objL_Linea.getStrPv_numObra());
			cs.setString(9,objL_Linea.getStrPv_numDespacho());
			//System.out.println(objL_Linea.getDocavTipoEntrega());
			cs.setString(10,objL_Linea.getDocavTipoEntrega());
                        cs.setString(11,objL_Linea.getStrPv_estadoNC());
                        cs.setString(12,objL_Linea.getStrPv_origen_NC());
			cs.executeUpdate();
		}

	}catch(Exception e){
		e.printStackTrace();
	}
	finally{
		closeCallableStatement(cs);
		closePreparedStatement(pstm);
		closeConnection(conn);
	}

  }

public void actualizar_lineas_fac(EmpresaIncubada archivo) throws SQLException, accesoDaoException{

System.out.println("entro a actualizar");
	try{
		cs=conn.prepareCall("{call ACDIMPK_AGENTES.ACDIMSP_SET_ESTADO_GUIA_TXT(?,?,?,?)}");




			cs.setString(1,archivo.getStrPv_tipoDocumento());
			cs.setString(2,archivo.getStrPv_codigoCliente());
			cs.setString(3,archivo.getStrPv_NumDocuAgente());
                        System.out.println("cod para actualziar"+archivo.getStrPv_numeroDocumentoFactura());
                        //cs.setString(3,objL_Linea.getStrPv_NumDocuAgente());
			cs.setString(4,archivo.getStrPv_estadoGuia());
                        cs.execute();



	}catch(Exception e){
		e.printStackTrace();
	}
	finally{
		closeCallableStatement(cs);
		closePreparedStatement(pstm);
		closeConnection(conn);
	}

  }

}
